#ifndef SCENARIO_SETUP_SCREEN_HPP_INCLUDED
#define SCENARIO_SETUP_SCREEN_HPP_INCLUDED

#include <vector>

#include "dialog.hpp"
#include "unit.hpp"

namespace game {

class scenario;

struct ScenarioCarryoverState {
	std::vector<commander_unit_ptr> commanders;
	int experience;
	int gold;
};

class scenario_setup_screen : public gui::dialog
{
public:
	scenario_setup_screen(scenario& scenario, ScenarioCarryoverState& state);

private:
	void init();

	void recruit(commander_unit_ptr commander, const_soldier_unit_type_ptr soldier_type);

	scenario& scenario_;
	ScenarioCarryoverState& state_;
};

}

#endif
